package summer.service;

import summer.data.Conversation;

import java.util.Set;

/**
 * 对话接口
 * 目前只考虑三个，分别是创建、加入和退出对话
 * 若某个对话下一个人都没有，后台将自动清理对话
 */
public interface ConversationService {

    /**
     * 构建一个对话，淡化创建人，创建人也是参与人
     * @param name                  对话简称（用于展示）
     * @param participantIds        参与人
     * @return
     */
    Conversation build(String name, Set<Long> participantIds);

    /**
     * 加入某个对话
     * @param participantId         参与人Id
     * @param conversationId        对话Id
     */
    void join(Long participantId, Long conversationId);

    /**
     * 退出某个对话
     * @param participantId         参与人Id
     * @param conversationId        对话Id
     */
    void quit(Long participantId, Long conversationId);
}
